Part Number Hot Search : 
WSD491 T750100 AM4466N 10248 TC74VHCT M8412 00BZI F3204
Product Description
Full Text Search
 

To Download AD9937BCPZ-24 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  rev. 0 information furnished by analog devices is believed to be accurate and reliable. however, no responsibility is assumed by analog devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. no license is granted by implication or otherwise under any patent or patent rights of analog devices. trademarks and registered trademarks are the property of their respective companies. one technology way, p.o. box 9106, norwood, ma 02062-9106, u.s.a. tel: 781/329-4700 www.analog.com fax: 781/326-8703 ? 2003 analog devices, inc. all rights reserved. ad9937 ccd signal processor with precision timing generator features 12 msps correlated double sampler (cds) 10-bit 12 mhz a/d converter no missing codes guaranteed 6 db to 40 db variable gain amplifier (vga) black level clamp with variable level control complete on-chip timing generator precision timing core with 1.7 ns resolution on-chip: 6-channel horizontal and 1-channel rs drivers 4-phase vertical transfer clocks electronic and mechanical shutter modes on-chip sync generator with external sync option applications digital still cameras industrial imaging functional block diagram ad9937 rs h1 a? h2 a, b v1 a/b v2 v3 a/b v4 tg1a tg1b tg3a tg3b cds vga clamp adc 10 vclk vckm dout vref 6db to 40db horizontal drivers v- h control 6 4 4 reft refb precision timing generator sync generator internal clocks lm ofd hd vd internal registers sld sck sda general description the ad9937 is a highly integrated ccd signal processor. it includes a complete analog front end with a/d conversion, combined with a full-function programmable timing generator. a precision timing core allows adjustment of high speed clocks with 1.7 ns resolution at 12 mhz operation. the ad9937 is specified at pixel rates of up to 12 mhz. the analog front end includes black level clamping, cds, vga, and a 10-bit a/d converter. the timing generator provides all the necessary ccd clocks: rs, h-clocks, v-clocks, sensor gate pulses, and substrate charge reset pulse. operation is programmed u sing a 3-wire serial interface. the ad9937 is packaged in a 56-lead lfcsp and specified over an operating temperature range of C 25 c to +85 c.
rev. 0 e2e ad9937 table of contents features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 general description . . . . . . . . . . . . . . . . . . . . . . . . . 1 functional block diagram . . . . . . . . . . . . . . . . . 1 specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 digital specifications . . . . . . . . . . . . . . . . . . . . . . . 3 analog specifications . . . . . . . . . . . . . . . . . . . . . . . 4 timing specifications . . . . . . . . . . . . . . . . . . . . . . . 5 absolution maximum ratings . . . . . . . . . . . . . . . 5 package thermal characteristics . . . . . . . . . 5 ordering guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 pin function descriptions . . . . . . . . . . . . . . . . . . 6 terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 differential nonlinearity . . . . . . . . . . . . . . . . . . . . . . . . . . 7 peak nonlinearity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 total output noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 power supply rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 equivalent circuits . . . . . . . . . . . . . . . . . . . . . . . . . 7 typical performance characteristics . . . . . 8 register maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 serial interface timing . . . . . . . . . . . . . . . . . . . . 18 control register serial interface . . . . . . . . . . . . . . . . . . . 18 system and mode register serial interface . . . . . . . . . . . 18 page/burst option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 random access option . . . . . . . . . . . . . . . . . . . . . . . . . . 18 internal power-on reset circuitry . . . . . . . . . . . . . . . . . . 19 vd synchronous and asynchronous register operation . 19 asynchronous register operation . . . . . . . . . . . . . . . . . . 19 vd synchronous register operation . . . . . . . . . . . . . . . . 19 system overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 analog front end description and operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 dc restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 correlated double sampler . . . . . . . . . . . . . . . . . . . . . . . 21 precision timing high speed timing generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 timing resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 high speed clock programmability . . . . . . . . . . . . . . . . . 22 h-driver and rs outputs . . . . . . . . . . . . . . . . . . . . . . . . 22 master and slave mode operation . . . . . . . . . 25 horizontal and vertical timing . . . . . . . . . . . 25 individual hmask sequence . . . . . . . . . . . . . . . . . . . . . 25 individual pblk sequences . . . . . . . . . . . . . . . . . . . . . . 25 controlling clpob clamp pulse timing . . . . . . . . . . . . 28 vertical sensor transfer gate timing . . . . . . . . . . . . . . . 29 shutter timing control . . . . . . . . . . . . . . . . . . . 29 normal shutter mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 high precision shutter mode . . . . . . . . . . . . . . . . . . . . . . 29 controlling lm pulse timing . . . . . . . . . . . . . . . . . . . . . 31 special horizontal pattern timing . . . . . . . . 32 masking h1 and h2 outputs . . . . . . . . . . . . . . . . . 33 horizontal masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 vertical masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 vertical timing generation . . . . . . . . . . . . . . . 35 ccd regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 standby sequence . . . . . . . . . . . . . . . . . . . . . . . . . . 40 power-down sequence . . . . . . . . . . . . . . . . . . . . . . 41 circuit layout information . . . . . . . . . . . . . . . 42 outline dimensions . . . . . . . . . . . . . . . . . . . . . . . . . 44 tables table i. control register map . . . . . . . . . . . . . . . . . . . . . . . . 9 table ii. vtp sequence system register map . . . . . . . . . . 10 table iii. h/lm system register map . . . . . . . . . . . . . . . . 12 table iv. shutter system register map . . . . . . . . . . . . . . . . 13 table v. mode_a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table vi. mode_b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table vii. serial interface registers . . . . . . . . . . . . . . . . . . 18 table viii. rs, h1, shp, shd, and doutphase timing parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 table ix. precision timing edge locations for rs, h1, shp, shd, and doutphase . . . . . . . . . . . . . . . . . . . . . 23 table x. hd and vd registers . . . . . . . . . . . . . . . . . . . . . . 25 table xi. pblk registers . . . . . . . . . . . . . . . . . . . . . . . . . . 26 table xii. clpob registers . . . . . . . . . . . . . . . . . . . . . . . . 28 table xiii. tg registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 table xiv. ofd registers . . . . . . . . . . . . . . . . . . . . . . . . . 30 table xv. lm registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 table xvi. special h pattern registers . . . . . . . . . . . . . . . . 33 table xvii. sequence change positions registers . . . . . . . 35 table xviii. start-up polarities . . . . . . . . . . . . . . . . . . . . . 39
rev. 0 e3e ad9937especifications (rsvdd = hvdd = 2.7 v to 3.6 v, e25
rev. 0 e4e ad9937 analog specifications (avdd = 3 v, f cli = 12 mhz, e25
ad9937 e5e rev. 0 timing specifications (c l = 20 pf, avdd = dvdd = drvdd = 3 v, f cli = 12 mhz, unless otherwise noted.) caution esd (electrostatic discharge) sensitive device. electrostatic charges as high as 4000 v readily accumulate on the human body and test equipment and can discharge without detection. although the ad9937 features proprietary esd protection circuitry, permanent damage may occur on devices subjected to high energy electrostatic discharges. therefore, proper esd precautions are recommended to avoid performance degradation or loss of functionality. absolute maximum ratings with respect parameter to min max unit avdd avss ? 0.3 +3.9 v tcvdd tcvss ? 0.3 +3.9 v hvdd hvss ? 0.3 +3.9 v rsvdd rsvss ? 0.3 +3.9 v dvdd dvss ? 0.3 +3.9 v drvdd drvss ? 0.3 +3.9 v rs output rsvss ? 0.3 rsvdd + 0.3 v h1(a ? d), h2(a, b)output hvss ? 0.3 hvdd + 0.3 v digital outputs dvss ? 0.3 dvdd + 0.3 v digital inputs dvss ? 0.3 dvdd + 0.3 v sck, sld, sda dvss ? 0.3 dvdd + 0.3 v vrt, vrb avss ? 0.3 avdd + 0.3 v ccdin avss ? 0.3 avdd + 0.3 v junction temperature 150 c lead temperature, 10 sec 350 c ordering guide temperature package package model range description option ad9937kcp ? 25 c to +85 cl ead frame cp-56 chip scale package (lfcsp) ad9937kcprl ? 25 c to +85 cl ead frame cp-56 chip scale package (lfcsp) parameter symbol min typ max unit master clock, vckm vckm clock period t conv 83.33 ns vckm high/low pulsewidth 41.67 ns delay from vckm rising edge to internal pixel position 0 t vckmdly 9ns afe clamp pulses 1 clpob pulsewidth 2 22 0p ixels afe sample location 1 (see figure 13) shp sample edge to shd sample edge t s1 33.34 41.67 ns data outputs output delay from vclk rising edge t od 9ns pipeline delay from shp/shd sampling (see figure 40) 9 cycles serial interface maximum sck frequency f sclk 10 mhz sld to sck setup time t ls 10 ns sck to sld hold time t lh 10 ns sda valid to sck rising edge setup t ds 10 ns sck falling edge to sda valid hold t dh 10 ns sck falling edge to sda valid read t dv 10 ns notes 1 parameter is programmable. 2 minimum clpob pulsewidth is for functional operation only. wider typical pulses are recommended to achieve good clamp performan ce. specifications subject to change without notice. package thermal characteristics thermal resistance  ja = 24.9 c/w
rev. 0 e6e ad9937 pin configuration 36 35 34 33 32 31 30 29 39 38 37 42 41 40 28 27 26 25 15 16 17 18 19 20 21 22 23 24 13 14 1 2 3 4 5 6 7 8 9 10 11 12 48 47 46 45 44 43 pin 1 identifier top view (not to scale) ad9937 sck sld sda refb reft ccdin a vss d8 d9 d0 d1 d2 drvss drvdd d3 d4 d5 d6 av d d vckm tcvdd tcvss d7 vd hd ofd d vss dvdd lm v4 tg3b v3a/b tg3a v2 tg1b vclk hvdd2 hvss2 h1d h2b h1b hvdd1 h1c h2a hvss1 h1a rsvss 49 50 51 52 53 54 55 56 nc nc nc nc nc rs rsvdd v1a/b tg1a nc = no connect pin function descriptions 1 pin no. mnemonic type 2 description 1n cn cn o connect 2n cn cn o connect 3d 0d od ata output 4d 1d od ata output 5d 2d od ata output 6d 3d od ata output 7 drvss p data output driver ground 8 drvdd p data output driver supply 9d 4d od ata output 10 d5 do data output 11 d6 do data output 12 d7 do data output 13 d8 do data output 14 d9 do data output 15 vclk do data output clock 16 hvdd2 p horizontal driver supply 2 for h1d, h2b, and h1b 17 hvss2 p horizontal driver ground 2 18 h1d do ccd horizontal clock 4 19 h2b do ccd horizontal clock 6 20 h1b do ccd horizontal clock 2 21 hvdd1 p horizontal driver supply 1 for h1c, h2a, and h1a 22 hvss1 p horizontal driver ground 1 23 h1c do ccd horizontal clock 3 24 h2a do ccd horizontal clock 5 25 h1a do ccd horizontal clock 1 26 rsvss p rs driver ground 27 rs do ccd reset gate clock 28 rsvdd p rs driver supply 29 nc nc no connect 30 nc nc no connect pin no. mnemonic type 2 description 31 nc nc no connect 32 tcvss p analog ground for timing core 33 tcvdd p analog supply for timing core 34 vckm di 3 reference clock input 35 avdd p analog supply for afe 36 ccdin ai ccd input signal 37 avss p analog ground for afe 38 reft ao voltage reference top bypass 39 refb ao voltage reference bottom bypass 40 tg1a do ccd sensor gate pulse 1 41 v1a/b do ccd vertical transfer clock 1 42 tg1b do ccd sensor gate pulse 2 43 v2 do ccd vertical transfer clock 2 44 tg3a do ccd sensor gate pulse 3 45 v3a/b do ccd vertical transfer clock 3 46 tg3b do ccd sensor gate pulse 4 47 v4 do ccd vertical transfer clock 4 48 lm do line memory control pulse 49 dvdd p digital supply 50 dvss p digital ground 51 ofd do ccd substrate reset pulse 52 hd do horizontal sync pulse 53 vd do vertical sync pulse 54 sld di 3 3-wire serial load pulse 55 sda di 3 3-wire serial data 56 sck di 3 3-wire serial clock notes 1 see figure 41 for circuit configuration. 2 ai = analog input, ao = analog output, di = digital input, do = digital output, dio = digital input/output, p = power, nc = no connection. 3 schmitt trigger type input.
rev. 0 ad9937 e7e terminology differential nonlinearity (dnl) an ideal adc exhibits code transitions that are exactly 1 lsb apart. dnl is the deviation from this ideal value. thus, every code must have a finite width. no missing codes guaranteed to 10-bit resolution indicates that all 1024 codes must be present over all operating conditions. peak nonlinearity peak nonlinearity, a full signal chain specification, refers to the peak deviation of the output of the ad9937 from a true straight line. the point used as zero scale occurs 1/2 lsb before the first code transition. positive full scale is defined as a level 1 1/2 lsb beyond the last code transition. the deviation is measured from the middle of each particular output code to the true straight line. the error is then expressed as a percentage of the 2 v adc full- scale signal. the input signal is always appropriately gained up to fill the adc ? s full-scale range. total output noise the rms output noise is measured using histogram techniques. the standard deviation of the adc output codes is calculated in lsb and represents the rms noise level of the total signal chain at the specified gain setting. the output noise can be converted to an equivalent voltage, using the relationship 12 lsb adc full scale codes n = () where n is the bit resolution of the adc. for the ad9937, 1 lsb is 1.95 mv. power supply rejection (psr) the psr is measured with a step change applied to the supply pins. this represents a very high frequency disturbance on the ad9937 ? s power supply. the psr specification is calculated from the change in the data outputs for a given step change in the supply voltage. equivalent circuits r avdd avss avss figure 1. ccdin dvdd dvss drvss drvdd tristateout data dout figure 2. digital data outputs 330
rev. 0 e8e ad9937etypical performance characteristics sample rate e mhz 812 10 power dissipation e mw 150 120 160 100 110 130 140 v dd = 2.7v v dd = 3.0v v dd = 3.3v tpc 1. power vs. sample rate v dd = 3.0v code 0.50 0.25 0 200 dnl e lsb 0 e0.25 e0.50 400 600 800 100 0 tpc 2. typical dnl performance
rev. 0 ad9937 e9e table i. control register map bit bit register addr breakdown width default name function 0 (23:0) 24 0 sw_reset software reset = 000000 (reset all registers to default). 10 10 outcont_reg internal outcont signal control (0 = digital outputs held at fixed dc level, 1 = normal operation). (23:1) 23 unused 2( 1:0) 2 0 afe_stby afe standby (0 = full standby, 1 = normal operation, 2/3 = reference standby). 21 0d ig_stby digital standby (0 = full standby, 1 = normal operation). (23:3) 21 unused 3( 7:0) 8 0x80 refblack black clamp level. 81 1 bc_en 1 = black clamp enable. 91 0 testmode this register should always be set to 0. 10 1 0 testmode this register should always be set to 0. 11 1 0 pblk_level 0 = blank to 0, 1 = blank to clamp level (refblack). 12 1 0 tristateout 0 = data outputs are driven, 1 = data outputs are three-stated. 13 10 retimeout_bar 0 = r etime data outputs, 1 = do not retime data outputs. 14 1 0 gray_encode 1 = gray encode adc outputs. (16:15) 2 0 testmode this register should always be set to 0. 17 1 0 testmode this register should always be set to 0. 18 1 1 testmode this register should always be set to 1. (23:19) 5 unused 40 10 vckm_divide vckm input clock divider (0 = vckm, 1 = vckm/2). 11 0 h1blkretime retimes the h1 hblk to internal clock. 21 0 lm_invert lm inversion control (1 = invert programmed lm). 31 0 tgofd_invert tg and ofd inversion control (1 = invert programmed tg and odf). 41 0 vdhd_invert vd and hd inversion control (1 = invert programmed vd and hd; note that internal vd/hd are hi active). 51 0 master operating mode (0 = slave mode, 1 = master mode). (23:6) 18 unused 5( 5:0) 6 0x00 shdloc shd sample location. (11:6) 6 0x24 shploc shp sample location. (17:12) 6 0x00 doutphase data output [9:0] and vclk phase adjustment. (19:18) 2 0x00 dout_delay data output clock selection (0 = no delay, 1 = ~4 ns, 2 = ~8 ns, 3 = ~12 ns). 20 1 0 vclkmask vclk masking control (1 = mask). 21 1 1 vclk_invert 1 = invert vclk. 22 1 0 dtest 1 = internal digital signal test mode. 23 1 ? unused 6( 5:0) 6 0x00 h1posloc h1 positive edge location. (11:6) 6 0x20 h1negloc h1 negative edge location. (17:12) 6 0x00 rsposloc rs positive edge location. (23:18) 6 0x10 rsnegloc rs negative edge location. 7( 2:0) 3 4 h1drv h1a/b/c/d drive strength (0 = off, 1 = 1.75 ma, 2 = 3.5 ma, 3 = 5.25 ma, 4 = 7 ma, 5 = 8.75 ma, 6 = 10.5 ma, 7 = 12.25 ma). (5:3) 3 4 h2drv h2a/b drive strength (see h1drv). (8:6) 3 4 rsdrv rs drive strength (see h1drv). (23:9) 15 unused (23:1) 23 unused
rev. 0 e10e ad9937 table ii. vtp sequence system register map (addr 0x14) bit bit register addr breakdown width default name function vtp_reg(0) (11:0) 12 endaddress sub word end address (23:12) 12 startaddress sub word start address (31:24) 8 vtp_reg_addr system register address 0x14 vtp_reg(1) (8:0) 9 279 vtplen_0 vtp0: length between repetitions (17:9) 9 75 v1tog1_0 vtp0: v1 toggle position 1 (26:18) 9 250 v1tog2_0 vtp0: v1 toggle position 2 27 1 1 v1pol_0 vtp0: v1 start polarity 28 1 0 v2pol_0 vtp0: v2 start polarity 29 1 0 v3pol_0 vtp0: v3 start polarity 30 1 1 v4pol_0 vtp0: v4 start polarity 31 1 unused vtp_reg(2) (8:0) 9 40 v2tog1_0 vtp0: v2 toggle position 1 (17:9) 9 145 v2tog2_0 vtp0: v2 toggle position 2 (26:18) 9 110 v3tog1_0 vtp0: v3 toggle position 1 (31:27) 5 unused vtp_reg(3) (8:0) 9 215 v3tog2_0 vtp0: v3 toggle position 2 (17:9) 9 5 v4tog1_0 vtp0: v4 toggle position 1 (26:18) 9 180 v4tog2_0 vtp0: v4 toggle position 2 (31:27) 5 unused vtp_reg(4) (8:0) 9 99 vtplen_1 vtp1: length between repetitions (17:9) 9 29 v1tog1_1 vtp1: v1 toggle position 1 (26:18) 9 99 v1tog2_1 vtp1: v1 toggle position 2 27 1 1 v1pol_1 vtp1: v1 start polarity 28 1 0 v2pol_1 vtp1: v2 start polarity 29 1 0 v3pol_1 vtp1: v3 start polarity 30 1 1 v4pol_1 vtp1: v4 start polarity 31 1 unused vtp_reg(5) (8:0) 9 15 v2tog1_1 vtp1: v2 toggle position 1 (17:9) 9 57 v2tog2_1 vtp1: v2 toggle position 2 (26:18) 9 43 v3tog1_1 vtp1: v3 toggle position 1 (31:27) 5 unused table i. control register map (continued) bit bit register addr breakdown width default name function 80 10 mode mode control bit. (0 = mode a, 1 = mode b) (23:1) 23 unused 90 11 spen single pulse (sp) output enable. (4:1) 4 0x9 splogic single pulse logic setting (0 = or, 1 = and). (23:5) 19 unused 10 0 1 1 ofden ofd output enable control (0 = disable, 1 = enable). (11:1) 11 0x7ff ofdnum total number of ofd pulses per field. 12 1 1 tgen tg output enable control (0 = disable, 1 = enable). (23:13) 11 unused 11 (11:0) 12 4095 ofdhptog1 high precision ofd toggle position 1. (23:12) 12 4095 ofdhptog2 high precision ofd toggle position 2. 12 (9:0) 10 0x000 vgagain vga gain control. (23:10) 14 unused denotes vd synchronous registers (control addresses 8, 9, 10, 11, and 12).
rev. 0 ad9937 e11e table ii. vtp sequence system register map (addr 0x14) (continued) bit bit register addr breakdown width default name function vtp_reg(6) (8:0) 9 85 v3tog2_1 vtp1: v3 toggle position 2 (17:9) 9 1 v4tog1_1 vtp1: v4 toggle position 1 (26:18) 9 71 v4tog2_1 vtp1: v4 toggle position 2 (31:27) 5 unused vtp_reg(7) (8:0) 9 99 vtplen_2 vtp2: length between repetitions (17:9) 9 29 v1tog1_2 vtp2: v1 toggle position 1 (26:18) 9 99 v1tog2_2 vtp2: v1 toggle position 2 27 1 1 v1pol_2 vtp2: v1 start polarity 28 1 0 v2pol_2 vtp2: v2 start polarity 29 1 0 v3pol_2 vtp2: v3 start polarity 30 1 1 v4pol_2 vtp2: v4 start polarity 31 1 unused vtp_reg(8) (8:0) 9 15 v2tog1_2 vtp2: v2 toggle position 1 (17:9) 9 57 v2tog2_2 vtp2: v2 toggle position 2 (26:18) 9 43 v3tog1_2 vtp2: v3 toggle position 1 (31:27) 5 unused vtp_reg(9) (8:0) 9 85 v3tog2_2 vtp2: v3 toggle position 2 (17:9) 9 1 v4tog1_2 vtp2: v4 toggle position 1 (26:18) 9 71 v4tog2_2 vtp2: v4 toggle position 2 (31:27) 5 unused vtp_reg(10) (11:0) 12 40 sp1tog1 sp1 toggle position 1 (v1a/v1b) (23:12) 12 410 sp1tog2 sp1 toggle position 2 (v1a/v1b) (31:24) 8 unused vtp_reg(11) (11:0) 12 490 sp2tog1 sp2 toggle position 1 (v2) (23:12) 12 780 sp2tog2 sp2 toggle position 2 (v2) (31:24) 8 unused vtp_reg(12) (11:0) 12 80 sp3tog1 sp3 toggle position 1 (v3a/v3b) (23:12) 12 360 sp3tog2 sp3 toggle position 2 (v3a/v3b) (31:24) 8 unused vtp_reg(13) (11:0) 12 450 sp4tog1 sp4 toggle position 1 (v4) (23:12) 12 820 sp4tog2 sp4 toggle position 2 (v4) (31:24) 8 unused
rev. 0 e12e ad9937 table iii. h/lm system register map (addr 0x15) bit bit register addr breakdown width default name function hlm_reg(0) (11:0) 12 endaddress sub word end address (23:12) 12 startaddress sub word start address (31:24) 8 hlm_reg_addr system register address 0x15 hlm_reg(1) 0 1 0 h1apol h1a special h-pattern start polarity 11 0 h1bpol h1b special h-pattern start polarity 21 1 h1cpol h1c special h-pattern start polarity 31 1 h1dpol h1d special h-pattern start polarity 41 0 h2apol h2a special h-pattern start polarity 51 0 h2bpol h2b special h-pattern start polarity (31:6) 26 unused hlm_reg(2) (5:0) 6 0x00 sph1a1 h1a special h-pattern during lm repetition 1 (11:6) 6 0x04 sph1b1 h1b special h-pattern during lm repetition 1 (17:12) 6 0x01 sph1c1 h1c special h-pattern during lm repetition 1 (31:18) 14 unused hlm_reg(3) (5:0) 6 0x07 sph1d1 h1d special h-pattern during lm repetition 1 (11:6) 6 0x08 sph2a1 h2a special h-pattern during lm repetition 1 (17:12) 6 0x22 sph2b1 h2b special h-pattern during lm repetition 1 (31:18) 14 unused hlm_reg(4) (5:0) 6 0x34 sph1a2 h1a special h-pattern during lm repetition 2 (11:6) 6 0x34 sph1b2 h1b special h-pattern during lm repetition 2 (17:12) 6 0x04 sph1c2 h1c special h-pattern during lm repetition 2 (31:18) 14 unused hlm_reg(5) (5:0) 6 0x04 sph1d2 h1d special h-pattern during lm repetition 2 (11:6) 6 0x3a sph2a2 h2a special h-pattern during lm repetition 2 (17:12) 6 0x0b sph2b2 h2b special h-pattern during lm repetition 2 (31:18) 14 unused hlm_reg(6) (5:0) 6 0x3d sph1a3 h1a special h-pattern during lm repetition 3 (11:6) 6 0x3f sph1b3 h1b special h-pattern during lm repetition 3 (17:12) 6 0x3c sph1c3 h1c special h-pattern during lm repetition 3 (31:18) 14 unused hlm_reg(7) (5:0) 6 0x3c sph1d3 h1d special h-pattern during lm repetition 3 (11:6) 6 0x03 sph2a2 h2a special h-pattern during lm repetition 3 (17:12) 6 0x02 sph2b3 h2b special h-pattern during lm repetition 3 (31:18) 14 unused hlm_reg(8) (7:0) 8 99 lmlen0 lm pattern 0 (lm0): lm counter length (15:8) 8 5 lmtog1_0 lm pattern 0 (lm0): toggle position 1 (23:16) 8 55 lmtog2_0 lm pattern 0 (lm0): toggle position 2 (31:24) 8 87 sphstart0 lm pattern 0 (lm0): special h pulse start position hlm_reg(9) (7:0) 8 29 lmlen1 lm pattern 1 (lm1): lm counter length (15:8) 8 2 lmtog1_1 lm pattern 1 (lm1): toggle position 1 (23:16) 8 26 lmtog2_1 lm pattern 1 (lm1): toggle position 2 (31:24) 8 0 sphstart1 lm pattern 1 (lm1): special h pulse start position
rev. 0 ad9937 e13e table iv. shutter system register map (addr 0x16) bit bit register addr breakdown width default name function shut_reg(0) (11:0) 12 endaddress sub word end address (23:12) 12 startaddress sub word start address (31:24) 8 shut_reg_addr system register address 0x16 shut_reg(1) (11:0) 12 80 tgtog1_0 tg0 pulse toggle position 1 (23:12) 12 370 tgtog2_0 tg0 pulse toggle position 2 (31:24) 8 unused shut_reg(2) (11:0) 12 490 tgtog1_1 tg1 pulse toggle position 1 (23:12) 12 780 tgtog2_1 tg1 pulse toggle position 2 (31:24) 8 unused shut_reg(3) (11:0) 12 540 ofdtog1_0 ofd0 pulse toggle position 1 (23:12) 12 720 ofdtog2_0 ofd0 pulse toggle position 2 (31:24) 8 unused shut_reg(4) (11:0) 12 830 ofdtog1_1 ofd1 pulse toggle position 1 (23:12) 12 860 ofdtog2_1 ofd1 pulse toggle position 2 (31:24) 8 unused
rev. 0 e14e ad9937 table v. mode_a (addr 0x17) bit bit register addr breakdown width default name function mode_reg(0) (11:0) 12 endaddress sub word end address (23:12) 12 startaddress sub word start address (31:24) 8 mode_reg_addr mode register address (mode a = addr 0x17) mode_reg(1) (6:0) 7 0 tgactline tg active line 7 10 tgpatsel0 tg1a/b pattern selector (0 = tg0, 1 = tg1) 8 11 tgpatsel1 tg3a/b pattern selector (0 = tg0, 1 = tg1) (12:9) 4 0xa tgmask tg masking control (1 = mask) 13 1 0 ofdpatsel ofd pattern selection (0 = ofd0, 1 = ofd1) (31:14) 18 unused mode_reg(2) (11:0) 12 831 hdtog1 hd toggle position 1 (23:12) 12 866 hdtog2 hd toggle position 2 (31:24) 8 unused mode_reg(3) (11:0) 12 4095 hdtog3 hd toggle position 3 (23:12) 12 4095 hdtog4 hd toggle position 4 (31:24) 8 unused mode_reg(4) (11:0) 12 2339 hdlastlen hd last line length (22:12) 11 262 vdlen vd field length (26:23) 4 0 vdtog1 vd toggle position 1 (30:27) 4 4 vdtog2 vd toggle position 2 31 1 unused mode_reg(5) (11:0) 12 1543 clpobtog1 clpob toggle position 1 (23:12) 12 1557 clpobtog2 clpob toggle position 2 (31:24) 8 unused mode_reg(6) (11:0) 12 4095 clpobtog3 clpob toggle position 3 (23:12) 12 4095 clpobtog4 clpob toggle position 4 (31:24) 8 unused mode_reg(7) (11:0) 12 0 hblktog1 hblk toggle position 1 (23:12) 12 869 hblktog2 hblk toggle position 2 24 1 0 h1tog12pol h1 polarity between toggle positions 1 and 2 (31:25) 7 unused mode_reg(8) (11:0) 12 4095 hblktog3 hblk toggle position 3 (23:12) 12 4095 hblktog4 hblk toggle position 4 24 1 0 h1tog34pol h1 polarity between toggle positions 3 and 4 (31:25) 7 unused mode_reg(9) (11:0) 12 6 pblktog1 pblk toggle position 1 (23:12) 12 878 pblktog2 pblk toggle position 2 (31:24) 8 unused mode_reg(10) (11:0) 12 4095 pblktog3 pblk toggle position 3 (23:12) 12 4095 pblktog4 pblk toggle position 4 (31:24) 8 unused mode_reg(11) (10:0) 11 255 pblkstart pblk start position (21:11) 11 3 pblkstop pblk stop position (31:22) 10 unused mode_reg(12) (10:0) 11 0 hmaskstart vertical h masking start position (21:11) 11 1 hmaskstop vertical h masking stop position 22 1 0 h1maskpol masking polarity for h1 during vertical blanking period (31:23) 9 unused mode_reg(13) (11:0) 12 550 lmstart0 lm counter start position 1 (23:12) 12 4095 lmstart1 lm counter start position 2 (31:24) 8 unused
rev. 0 ad9937 e15e table v. mode_a (addr 0x17) (continued) bit bit register addr breakdown width default name function mode_reg(14) (7:0) 8 1 scp1 sequence change position 1 (15:8) 8 0 scp2 sequence change position 2 (23:16) 8 0 scp3 sequence change position 3 (31:24) 8 0 scp4 sequence change position 4 mode_reg(15) (11:0) 12 1559 hdlen0 hd counter length value for region 0 (13:12) 2 0 vtppatsel0 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 0 vtprep0 vtp pulse repetition number in region 0 17 1 0 lmpatsel0 lm pattern select for region 0 (0 = lm0, 1 = lm1) (19:18) 2 0 lmrep0 lm repetition number in region 0 20 1 0 sphen0 special h-pattern enable in region 0 21 1 1 clpoben0 clpob enable in region 0 (31:22) 10 unused mode_reg(16) (11:0) 12 1559 hdlen1 hd counter length value for region 1 (13:12) 2 0 vtppatsel1 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 2 vtprep1 vtp pulse repetition number in region 1 17 1 0 lmpatsel1 lm pattern select for region 1 (0 = lm0, 1 = lm1) (19:18) 2 3 lmrep1 lm repetition number in region 1 20 1 1 sphen1 special h-pattern enable in region 1 21 1 1 clpoben1 clpob enable in region 1 (31:22) 10 unused mode_reg(17) (11:0) 12 1559 hdlen2 hd counter length value for region 2 (13:12) 2 0 vtppatsel2 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 2 vtprep2 vtp pulse repetition number in region 2 17 1 0 lmpatsel2 lm pattern select for region 2 (0 = lm0, 1 = lm1) (19:18) 2 3 lmrep2 lm repetition number in region 2 20 1 1 sphen2 special h-pattern enable in region 2 21 1 1 clpoben2 clpob enable in region 2 (31:22) 10 unused mode_reg(18) (11:0) 12 1559 hdlen3 hd counter length value for region 3 (13:12) 2 0 vtppatsel3 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 2 vtprep3 vtp pulse repetition number in region 3 17 1 0 lmpatsel3 lm pattern select for region 3 (0 = lm0, 1 = lm1) (19:18) 2 3 lmrep3 lm repetition number in region 3 20 1 1 sphen3 special h-pattern enable in region 3 21 1 1 clpoben3 clpob enable in region 3 (31:22) 10 unused mode_reg(19) (11:0) 12 1559 hdlen4 hd counter length value for region 4 (13:12) 2 0 vtppatsel4 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 2 vtprep4 vtp pulse repetition number in region 4 17 1 0 lmpatsel4 lm pattern select for region 4 (0 = lm0, 1 = lm1) (19:18) 2 3 lmrep4 lm repetition number in region 4 20 1 1 sphen4 special h-pattern enable in region 4 21 1 1 clpoben4 clpob enable in region 4 (31:22) 10 unused
rev. 0 e16e ad9937 table vi. mode_b (addr 0x18) bit bit register addr breakdown width default name function mode_reg(0) (11:0) 12 endaddress sub word end address (23:12) 12 startaddress sub word start address (31:24) 8 mode_reg_addr mode register address (mode b = addr 0x18) mode_reg(1) (6:0) 7 0 tgactline tg active line 71 0 tgpatsel0 tg1a/b pattern selector (0 = tg0, 1 = tg1) 81 1 tgpatsel1 tg3a/b pattern selector (0 = tg0, 1 = tg1) (12:9) 4 0x0 tgmask tg masking control (1 = mask) 13 1 1 ofdpatsel ofd pattern selection (0 = ofd0, 1 = ofd1) (31:14) 18 unused mode_reg(2) (11:0) 12 95 hdtog1 hd toggle position 1 (23:12) 12 130 hdtog2 hd toggle position 2 (31:24) 8 unused mode_reg(3) (11:0) 12 830 hdtog3 hd toggle position 3 (23:12) 12 865 hdtog4 hd toggle position 4 (31:24) 8 unused mode_reg(4) (11:0) 12 1559 hdlastlen hd last line length (22:12) 11 525 vdlen vd field length (26:23) 4 0 vdtog1 vd toggle position 1 (30:27) 4 4 vdtog2 vd toggle position 2 31 1 unused mode_reg(5) (11:0) 12 808 clpobtog1 clpob toggle position 1 (23:12) 12 822 clpobtog2 clpob toggle position 2 (31:24) 8 unused mode_reg(6) (11:0) 12 1543 clpobtog3 clpob toggle position 3 (23:12) 12 1557 clpobtog4 clpob toggle position 4 (31:24) 8 unused mode_reg(7) (11:0) 12 1 hblktog1 hblk toggle position 1 (23:12) 12 133 hblktog2 hblk toggle position 2 24 1 1 h1tog12pol h1 polarity between toggle positions 1 and 2 (31:25) 7 unused mode_reg(8) (11:0) 12 825 hblktog3 hblk toggle position 3 (23:12) 12 868 hblktog4 hblk toggle position 4 24 1 0 h1tog34pol h1 polarity between toggle positions 3 and 4 (31:25) 7 unused mode_reg(9) (11:0) 12 6 pblktog1 pblk toggle position 1 (23:12) 12 143 pblktog2 pblk toggle position 2 (31:24) 8 unused mode_reg(10) (11:0) 12 831 pblktog3 pblk toggle position 3 (23:12) 12 878 pblktog4 pblk toggle position 4 (31:24) 8 unused mode_reg(11) (10:0) 11 510 pblkstart pblk start position (21:11) 11 6 pblkstop pblk stop position (31:22) 10 unused mode_reg(12) (10:0) 11 0 hmaskstart vertical h masking start position (21:11) 11 1 hmaskstop vertical h masking stop position 22 1 0 h1maskpol masking polarity for h1 during vertical blanking period (31:23) 9 unused mode_reg(13) (11:0) 12 99 lmstart0 lm counter start position 1 (23:12) 12 830 lmstart1 lm counter start position 2 (31:24) 8 unused
rev. 0 ad9937 e17e table vi. mode_b (addr 0x18) (continued) bit bit register addr breakdown width default name function mode_reg(14) (7:0) 8 1 scp1 sequence change position 1 (15:8) 8 0 scp2 sequence change position 2 (23:16) 8 0 scp3 sequence change position 3 (31:24) 8 0 scp4 sequence change position 4 mode_reg(15) (11:0) 12 1559 hdlen0 hd counter length value for region 0 (13:12) 2 0 vtppatsel0 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 0 vtprep0 vtp pulse repetition number in region 0 17 1 0 lmpatsel0 lm pattern select for region 0 (0 = lm0, 1 = lm1) (19:18) 2 0 lmrep0 lm repetition number in region 0 20 1 0 sphen0 special h-pattern enable in region 0 21 1 1 clpoben0 clpob enable in region 0 (31:22) 10 unused mode_reg(16) (11:0) 12 1559 hdlen1 hd counter length value for region 1 (13:12) 2 1 vtppatsel1 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 1 vtprep1 vtp pulse repetition number in region 1 17 1 1 lmpatsel1 lm pattern select for region 1 (0 = lm0, 1 = lm1) (19:18) 2 1 lmrep1 lm repetition number in region 1 20 1 0 sphen1 special h-pattern enable in region 1 21 1 1 clpoben1 clpob enable in region 1 (31:22) 10 unused mode_reg(17) (11:0) 12 1559 hdlen2 hd counter length value for region 2 (13:12) 2 1 vtppatsel2 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 1 vtprep2 vtp pulse repetition number in region 2 17 1 1 lmpatsel2 lm pattern select for region 2 (0 = lm0, 1 = lm1) (19:18) 2 1 lmrep2 lm repetition number in region 2 20 1 0 sphen2 special h-pattern enable in region 2 21 1 1 clpoben2 clpob enable in region 2 (31:22) 10 unused mode_reg(18) (11:0) 12 1559 hdlen3 hd counter length value for region 3 (13:12) 2 1 vtppatsel3 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 1 vtprep3 vtp pulse repetition number in region 3 17 1 1 lmpatsel3 lm pattern select for region 3 (0 = lm0, 1 = lm1) (19:18) 2 1 lmrep3 lm repetition number in region 3 20 1 0 sphen3 special h-pattern enable in region 3 21 1 1 clpoben3 clpob enable in region 3 (31:22) 10 unused mode_reg(19) (11:0) 12 1559 hdlen4 hd counter length value for region 4 (13:12) 2 1 vtppatsel4 vtp pattern select (0 = vtp0, 1 = vtp1, 2 = vtp2) (16:14) 3 1 vtprep4 vtp pulse repetition number in region 4 17 1 1 lmpatsel4 lm pattern select for region 4 (0 = lm0, 1 = lm1) (19:18) 2 1 lmrep4 lm repetition number in region 4 20 1 0 sphen4 special h-pattern enable in region 4 21 1 1 clpoben4 clpob enable in region 4 (31:22) 10 unused
rev. 0 e18e ad9937 serial interface timing all of the internal registers of the ad9937 are accessed through a 3-wire serial interface. the 3-wire interface consists of a clock (sck), serial load (sld), and serial data (sda). the ad9937 has three different register types that are config ured by the 3-wire serial interface pins. as described in table vii, the three register types are control registers, system registers, and mode registers. table vii. serial interface registers register address no. of registers control registers 0x00 to 24-bit register at each 0x12 address. see table i. vtp sequence 0x14 fourteen 32-bit system system registers registers at address 0x14. see table ii. h/lm system 0x15 ten 32-bit system registers registers at address 0x15. see table iii. shutter system 0x16 five 32-bit system registers registers at address 0x16. see table iv. mode_a 0x17 twenty 32-bit mode_a registers at address 0x17. see table v. mode_b 0x18 twenty 32-bit mode_b registers at address 0x18. see table vi. control register serial interface the control register 3-wire interface timing requirements are shown in figure 5. writing to control registers requires eight bits of address data followed by 24 bits of configuration data between each active low period of sld for each address. the sld signal must be kept high for at least one full sck cycle between suc- cessive writes to control registers. system and mode register serial interface the ad9937 provides two options for writing to system and mode registers. the page/burst write option is used when all the registers are going to be written to, whereas the random access option is used when only one or a small contiguous sequence of registers is going to be written to. as shown in figure 6, the protocol for writing to system and mode registers requires eight bits for the address data, 12 bits for the start location, 12 bits for the end location, and 32 bits for the register data. page/burst option the ad9937 is automatically configured for page/burst mode if both 12-bit startaddress and endaddress fields equal 0. in this configuration, the ad9937 expects all registers to be written to, therefore all register data must be clocked in before the sld pulse is asserted high. the sld pulse is ignored until all register data is clocked in. the page/burst option is preferred when initially programming the system and mode registers at startup. random access option with the random access option, the 12-bit startaddress and endaddress fields are typically used when writing to one system or mode register or a small sequential number of system or mode registers. in this mode, the address data selects the system or mode register bank that is going to be accessed, the 12-bit startaddress determines the first register to be accessed, and the 12-bit endaddress determines the last register to be accessed. two examples of random access are provided below (refer to figure 6). example 1: accessing only one register, hlm_reg(6) hlm_reg_addr[a7:a0] = 0x15 startaddress[s11:s0] = 0x0006 endaddress[e11:e0] = 0x0006 example 2: accessing hlm_reg(2), hlm_reg(3), and hlm_reg(4) sequentially hlm_reg_addr[a7:a0] = 0x15 startaddress[s11:s0] = 0x0002 endaddress[e11:e0] = 0x0004 sda sck sld a5 a6 d22 d21 d3 d2 d1 1. sda bits are internally latched on the rising edges of sck. 2. this timing pattern must be written for each register write with sld remaining high for at least one full sck period before asserting sld low again for the next register write. a7 a4 a3 a2 a1 a0 d23 .... .... d0 1234567891011 29303132 t ds t dh t lh t ls figure 5. 3-wire serial interface timing for control registers
rev. 0 ad9937 e19e sda sck sld a7 a6 a5 a4 a3 a2 a1 a0 s11 s10 s9 s8 s0 s1 s2 s3 e11 e10 e9 e3 e2 e1 e0 d31 d30 d29 8 bit a ddress st art location a ddress d3 d2 d1 d0 d31 d30 d29 data 0 [31:0] d3 d2 d1 d0 data n [31:0] 12-bit end address[11:0] 12-bit start address [11:0] 8-bit reg a ddress [7:0] 32-bit data 0 [31:0] 32-bit data n [31:0] 1 1 12 en d location a ddress 1. all sld pulses are ignored until the last bit of the last data n word is clocked in. 2. the sld pulse must be asserted high when all sda data transmissions have been completed. figure 6. system and mode register writes internal power-on reset circuitry after power-on, the ad9937 automatically resets all internal registers and performs internal calibration procedures. this takes approximately 1 ms to complete. during this time, normal clock signals and serial write operations may occur. however, serial register writes are ignored until the internal reset opera- tion is completed. vd synchronous and asynchronous register operation there are two types of control registers, vd synchronous and vd asynchronous, as indicated in the address column of table i. register writes to synchronous and asynchronous type registers operate differently as described in the following sections. all writes to system, mode_a, and mode_b registers occur asyn chronously. asynchronous register operation for asynchronous register writes, sda data is stored directly into the serial register at the rising edge of slk. as a result, register operation begins immediately after the register lsb has been latched in on the rising edge of sck. vd synchronous register operation for vd synchronous type registers, sda data is temporarily stored in a buffer register upon completion of clocking in the last register lsb. this data is held in the temporary buffer register until the next rising edge of vd is applied. once the next rising edge of vd occurs, the buffered register data is loaded into the serial register, and register operation begins. see figure 7. control registers at addresses 0x08, 0x09, 0x10, 0x11, and 0x12 are vd synchronous type registers. vd hd vckm o peration of vd synchronous type register writes begin at the next vd rising edge. p rogramming vd synchronous type registers must be completed at least four vckm cycles before the rising edge of vd. figure 7. vd synchronous type register writes
rev. 0 e20e ad9937 system overview figure 8 shows the typical system block diagram for the ad 9937. the ccd output is processed by the ad9937 ? s afe circuitry, which consists of a cds, vga, black level clamp, and a/d converter. the digitized pixel information is sent to the digital image processor chip, which performs the postprocessing and compression. to operate the ccd, all ccd timing parameters are programmed into the ad9937 from the system micropro- cessor, through the 3-wire serial interface. from the system master clock, vckm provided by the image processor or exter- nal crystal, the ad9937 generates all of the ccd ? s horizontal and vertical clocks and all internal afe clocks. ccd buffer v out ad9937 adc out register data digital image processing asic timing generator v-drive ccdin serial interface digital outputs ccd timing 0.1
rev. 0 ad9937 e21e analog front end description and operation the ad9937 afe signal processing chain is shown in figure 11. each processing step is essential in achieving a high quality image from the raw ccd pixel data. dc restore to reduce the large dc offset of the ccd output signal, a dc restore circuit is used with an external 0.1 f series coupling capacitor. this restores the dc level of the ccd signal to ap proxi- mately 1.5 v to be compatible with the 3 v analog supply of the ad9937. correlated double sampler the cds circuit samples each ccd pixel twice to extract the video information and reject low frequency noise. the timing diagram in figure 13 illustrates how the two internally gener- ated cds clocks, shp and shd, are used to sample the reference level and the data level, respectively, of the ccd signal. the placement of the shp and shd sampling edges is determined by the setting of the shploc (addr 0x05) and shdloc (addr 0x05) control registers. placement of these two clock edges is critical in achieving the best performance from the ccd. 6db to 40db digital filter clpob dc restore optical black clamp adc vga 8-bit dac clamp level register vga gain register 10 cds internal vref 2v full scale 10 precision timing generation shp shd 1.5v output data latch reft refb dout phase v-h timing generation shp shd dout phase clpob 1.0v 2.0v dout 8 1.0
rev. 0 e22e ad9937 precision timing high speed timing generation the ad9937 generates flexible high speed timing signals using the precision timing core. this core is the foundation for gener- ating the timing used for both the ccd and the afe: the reset gate rs, horizontal drivers h1(a ? d) and h2(a, b), and the cds sample clocks. a unique architecture makes it routine for the system designer to optimize image quality by providing precise control over the horizontal ccd readout and the afe correlated double sampling. timing resolution the precision timing core uses a 13 master clock input (vckm) as a reference. this clock should be the same as the ccd pixel clock frequency. figure 12 illustrates how the internal timing core divides the master clock period into 48 steps or edge positions. using a 12 mhz vckm fre- quency, the edge resolution of the precision timing core is 1.7 ns. a 24 mhz vckm frequency can be applied to the ad9937 where the ad9937 will internally divide the vckm frequency by 2. vckm frequency division by 2 is controlled by using the vckm_divide control (addr 0x04) register. high speed clock programmability figure 13 shows how the high speed clocks rs, h1 ? h2, shp, and shd are generated. the rs and h1 pulse have positive and nega- tive edge programmability by using control registers (addr 0x06). the h2 clock is always the inverse of h1. table v iii summarizes the high speed timing registers and the parameters for the high speed clocks. each register is six bits wide with the 2 msb used to select the quadrant region as outlined in table ix. figure 14 shows the range and default locations of the high speed clock signals. h-driver and rs outputs in addition to the programmable timing positions, the ad9937 features on-chip output drivers for the rs and h1 ? h2 outputs. these drivers are powerful enough to directly drive the ccd inputs. the h-driver current can be adjusted for optimum rise/ fall time into a particular load by using the h1drv and h2drv control registers (addr 0x07). the rs drive current is adjustable using the rsdrv control register (addr 0x07). the h1drv, h2drv, and rsdrv registers are adjustable in 1.75 ma in cre- ments. all drv registers have setting of 0 equal to off or three-state, and the maximum setting of 7. pixel clock period is divided into 48 positions, providing fine edge resolution for high speed clocks. there is a fixed delay from the vckm input to the internal pixel period positions ( t vckmdly = 6ns typ). p[0] p[48] = p[0] p[12] p[24] p[36] 1 pixel period vckm position t vckmdly figure 12. high speed clock resolution from vckm master clock h1 h2 ccd signal rs programmable clock information 1. rg rising edge (programmable at control register rsposloc (addr 0x06)) 2. rg falling edge (programmable at control register rsnegloc (addr 0x06)) 3. shp sample location (programmable at control register shploc (addr 0x05)) 4. shd sample location (programmable at control register shdloc (addr 0x05)) 5. h1 rising edge location (programmable at control register h1posloc (addr 0x06)) 6. h1 negative edge location (programmable at control register h1negloc (addr 0x06)) 7. h2 is always the inverse of h1. 3 4 12 56 ( internal) cds figure 13. high speed clock programmable locations
rev. 0 ad9937 e23e table viii. rs, h1, shp, shd, and doutphase timing parameters bit width register name * (bits) register type range description rsposloc 6 control (addr 0x06) 0 ? 47 edge location falling edge location for rs rsnegloc 6 control (addr 0x06) 0 ? 47 edge location falling edge location for rs h1posloc 6 control (addr 0x06) 0 ? 47 edge location positive edge location for h1 h1negloc 6 control (addr 0x06) 0 ? 47 edge location negative edge location for h1 shploc 6 control (addr 0x05) 0 ? 47 edge location sample location for shp shdloc 6 control (addr 0x05) 0 ? 47 edge location sample location for shd doutphase 6 control (addr 0x05) 0 ? 47 edge location phase location of data output [9:0] * the 2 msb bits are used to select the quadrant. table ix. precision timing edge locations for rs, h1, shp, shd, and doutphase quadrant rs rising edge rs falling edge signal name (range) rsposloc rsnegloc rs i p[0] to p[11] 000000 to 001011 000000 to 001011 ii p[12] to p[23] 010000 to 011011 010000 to 011011 iii p[24] to p[35] 100000 to 101011 100000 to 101011 iv p[36] to p[47] 110000 to 111011 110000 to 111011 quadrant h1 rising edge h1 falling edge signal name (range) h1posloc h1negloc h1 i p[0] to p[11] 000000 to 001011 000000 to 001011 ii p[12] to p[23] 010000 to 011011 010000 to 011011 iii p[24] to p[35] 100000 to 101011 100000 to 101011 iv p[36] to p[47] 110000 to 111011 110000 to 111011 quadrant cds (shp) rising edge cds (shd) falling edge signal name (range) shploc shdloc cds (internal) i p[0] to p[11] 000000 to 001011 000000 to 001011 ii p[12] to p[23] 010000 to 011011 010000 to 011011 iii p[24] to p[35] 100000 to 101011 100000 to 101011 iv p[36] to p[47] 110000 to 111011 110000 to 111011 quadrant dout rising edge dout falling edge signal name (range) doutphase (not programmable) data output[9:0] i p[0] to p[11] 000000 to 001011 doutphase + 24 steps ii p[12] to p[23] 010000 to 011011 doutphase + 24 steps iii p[24] to p[35] 100000 to 101011 doutphase + 24 steps iv p[36] to p[47] 110000 to 111011 doutphase + 24 steps
rev. 0 e24e ad9937 p[0] pixel period rs h1 p[48] = p[0] shp[24] ccd signal p[24] p[12] p[36] shd[48] position cds ( internal) t s1 rsf[12] rsr[0] hr[0] hf[24] figure 14. high speed clock default and programmable locations fixed crossover voltage h1 h2 t pd < t rise h2 h1 t rise t pd figure 15. h-clock inverse phase relationship 1. doutphase register (addr 0x05) can be used to shift the phase of vclk and dout together with respect to p[0]. 2. dout[9:0] can be independently delayed with respect to vclk by using dout_delay register (addr 0x05). p[0] p[48] = p[0] pixel period p[12] p[24] p[36] dout vclk t od figure 16. digital output phase adjustment
rev. 0 ad9937 e25e master and slave mode operation the ad9937 defaults at power up into slave mode operation. during slave mode operation, the vd and hd pins are config- ured as inputs for external vd and hd signals. the ad9937 can be configured into master mode operation to output the vd and hd signals by programming master = 1 (control addr 0x05). horizontal and vertical timing the internal vd and hd synchronization timing is configured by using the registers in table x. as shown in figure 17, the hd and vd clock positions are referenced to the 12-bit h-counter and 11-bit v-counter, respectively. this allows for a maximum of 4096 horizontal pixels by 2048 vertical line resolu tion. the ad9937 provides programmability for two hd pulses per line with the ability to independently set the last line length by using the hdlastlen register (mode_reg(4)). addition ally, the hdlenx (where x = 0, 1, 2, 3, 4 representing ccd re gions) registers can be used to set different line lengths for each ccd region. as shown in figure 31, up to five unique ccd regions may be specified. individual hmask sequence the hmask programmable timing shown in figure 18 pro- vides two hmask toggle positions and an h1mask polarity setting. these registers can be used to disable the horizontal h1 and h2 outputs during the vertical transfer period. as shown in figure 18, the h2(a, b) outputs are always the opposite polarity of the h1(a ? d) outputs. the h1maskstart and h1maskstop registers reference the 11-bit vd counter. individual pblk sequences up to two individual pblk pulses can be programmed per line using the registers in table xi. during the time pblk is active, the dout[9:0] data is fixed at the level set in the pblk_level (control addr 0x03) register. figures 19, 20, and 21 provide examples of pblk registers described in table xi. table x. hd and vd registers length register name (bits) register type range description vdlen 11 mode_reg(4) 0 ? 2047 line number 11-bit vd counter length vdtog1 4 mode_reg(4) 0 ? 15 pixel location vd toggle position 1. see figure 17. vdtog2 4 mode_reg(4) 0 ? 15 pixel location vd toggle position 2. see figure 17. hdtog1 12 mode_reg(2) 0 ? 4095 pixel location hd toggle position 1. see figure 17. hdtog2 12 mode_reg(2) 0 ? 4095 pixel location hd toggle position 2. see figure 17. hdtog3 12 mode_reg(3) 0 ? 4095 pixel location hd toggle position 3. see figure 17. hdtog4 12 mode_reg(3) 0 ? 4095 pixel location hd toggle position 4. see figure 17. hdlastlen 12 mode_reg(4) 0 ? 4095 pixel location hd last line length. see figure 17. hdlen0 12 mode_reg(15) 0 ? 4095 pixel location 12-bit hd counter length value for ccd region 0 hdlen1 12 mode_reg(16) 0 ? 4095 pixel location 12-bit hd counter length value for ccd region 1 hdlen2 12 mode_reg(17) 0 ? 4095 pixel location 12-bit hd counter length value for ccd region 2 hdlen3 12 mode_reg(18) 0 ? 4095 pixel location 12-bit hd counter length value for ccd region 3 hdlen4 12 mode_reg(19) 0 ? 4095 pixel location 12-bit hd counter length value for ccd region 4 vdhd_invert 1 control 0x04 high/low vd and hd inversion control
rev. 0 e26e ad9937 vd 11-bit vd counter h1(aed) hmask 12 3 h1(aed) h1(a, b) programmable clock positions 1. hmaskstart (programmable at mode_reg(12)) 2. hmaskstop (programmable at mode_reg(12)) 3. h1maskpol (programmable at mode_reg(12)) the polarity of h1(aed) during blanking is programmable (h2(a, b) is always the opposite polarity of h1 (aed)) figure 18. programmable clock positions for hmask table xi. pblk registers length register register name (bits) type range description pblk_level 1 control 0x03 high/low 0 = blank output data to zero, 1 = blank output data to refblack pblktog1 12 mode_reg(9) 0 ? 4095 pixel locations sets pblk toggle position 1 within the line pblktog2 12 mode_reg(9) 0 ? 4095 pixel locations sets pblk toggle position 2 within the line pblktog3 12 mode_reg(10) 0 ? 4095 pixel locations sets pblk toggle position 3 within the line pblktog4 12 mode_reg(10) 0 ? 4095 pixel locations sets pblk toggle position 4 within the line pblkstart 11 mode_reg(11) 0 ? 2047 line number sets the line number the pblk pulse will start in pblkstop 11 mode_reg(11) 0 ? 2047 line number sets the line number the pblk pulse will stop in 001 002 003 000 000 11-bit vd counter vd 001 hd hdlenx * hdlastlen 12 3 456 programmable clock positions 1. vdhd_invert (programmable at control 0x04) 2. vdtog1 (programmable at mode_reg(4)) 3. vdtog2 (programmable at mode_reg(4)) 4. hdtog1 (programmable at mode_reg(2)) optional second hd pulse per line 5. hdtog2 (programmable at mode_reg(2)) 6. hdtog3 (programmable at mode_reg(3)) 7. hdtog4 (programmable at mode_reg(3)) n e 1 * x = 0, 1, 2, 3, 4 representing ccd regions vdlen n 2048 7 12-bit hd counter figure 17. vd and hd programmable locations
rev. 0 ad9937 e27e 12-bit hd counter vd 500 785 500 785 500 500 785 500 785 500 785 11-bit vd counter 000 001 002 003 n n e 1 n e 2 n e 3 n e 4 pblkstart pblkstop 12-bit hd counter pblktog1 = 500 pblktog2 = 785 pblk hdlen = 1500 1. pblktog1 = 500 2. pblktog2 = 785 3. pblktog3 = 4095 4. pblktog4 = 4095 5. this pblk pulse sequence is used in the example below. 1. pblkstart = n e 2 2. pblkstop = 001 3. this example shows how pblk is low in the vertical blanking region from pblktog1 in line pblkstart until pblktog2 in line pb lkstop. as shown in the above figure, pblk remains low from pblktog1 to pblktog2. figure 20. example of pblk applied in vertical blanking region using pblkstart and pblkstop registers 12-bit hd counter 1 2 3 4 pblk programmable clock positions 1. pblktog1 (programmable at mode_reg(9)) 2. pblktog2 (programmable at mode_reg(9)) 3. pblktog3 (programmable at mode_reg(10)) 4. pblktog4 ( programmable at mode_reg ( 10 )) figure 19. pblk timing
rev. 0 e28e ad9937 001 002 003 004 000 11-bit vd counter 12-bit hd counter vd hd pblk n n e 1 figure 21. example with pblkstop = pblkstart = 2048 controlling clpob clamp pulse timing up to two individual clpob pulses can be programmed per line using the clpobtogx (x = 1, 2, 3, 4) registers in table xii. as shown in figure 19, these registers reference the 12-bit hd counter. additional clpobenn (n = 0, 1, 2, 3, 4) registers are provided that allow for independently enabling and disabling the clpob pulse in each region of the ccd. figure 23 shows an example of disabling the clpob pulse while operating in ccd region 1. clpob hd programmable clock positions 1. clpobtog1 (programmable at mode_reg(5)) 2. clpobtog2 (programmable at mode_reg(5)) 3. clpobtog3 (programmable at mode_reg(6)) 4. clpobtog4 ( programmable at mode_reg ( 6 )) 34 12 12-bit hd counter figure 22. clpob toggle positions table xii. clpob registers length register register name (bits) type range description clpobtog1 12 mode_reg(5) 0 ? 4095 pixel location first toggle position for clpob clpobtog2 12 mode_reg(5) 0 ? 4095 pixel location first toggle position for clpob clpobtog3 12 mode_reg(6) 0 ? 4095 pixel location first toggle position for clpob clpobtog4 12 mode_reg(6) 0 ? 4095 pixel location first toggle position for clpob clpoben0 1 mode_reg(15) enabled/disabled ccd region 0 clpob enable disable control clpoben1 1 mode_reg(16) enabled/disabled ccd region 1 clpob enable disable control clpoben2 1 mode_reg(17) enabled/disabled ccd region 2 clpob enable disable control clpoben3 1 mode_reg(18) enabled/disabled ccd region 3 clpob enable disable control clpoben4 1 mode_reg(19) enabled/disabled ccd region 4 clpob enable disable control
rev. 0 ad9937 e29e vertical sensor transfer gate timing the vertical transfer sensor gate (tg) pulses are used to trans- fer the pixel charges from the light-sensitive image area into the light-shielded vertical registers. when a mechanical shutter is not being used, this transfer effectively ends the exposure period during the image acquisition. from the light-shield vertical registers, the image is then read out line by line using the vertical transfer pulses in conjunction with the high speed horizontal clocks. the ad9937 provides four programmable vertical transfer gate pulses (tg1a, tg1b, tg3a, and tg3b). table xiii lists the tg registers. two unique tg pulses can be preprogrammed using the tgtog_x (x = 0, 1) registers. as shown in figure 24, these toggle registers reference the 12-bit h counter for resolu- tion control at the pixel level. once the toggle positions have been programmed, the tgpatselx (x = 0, 1) can be used to select which of the two tg pulses will be output on the tg1a/ b and tg3a/b pins. the tg1a/b and tg3a/b outputs are selected as a group. as a result, the tg1a and tg1b outputs will always be the same. this also applies for the tg3a and tg3b outputs. for example, if tgpatsel0 = 0, tg1a and tg1b will have the outputs provided by the tgtog1_0 and tgtog2_0 registers. the tgmask register can be used to individually mask (dis able) any one of the tg outputs. for example, if tgmask = 1, the tg1a will not be output. all tg outputs can be disabled by setting tgen = 0. shutter timing control ccd image exposure is controlled through use of the substrate clock signal (ofd), which pulses the ccd substrate to clear out accumulated charge. the ad9937 supports two types of ofd shutter timing: normal shutter mode and high precision shutter mode. the registers used for ofd programming are described in table xiv. normal shutter mode figure 24 shows the vd and ofd output for normal shutter mode. programming the ofd outputs is similar to program- ming the tg pulse whereas two unique ofd pulses can be preprogrammed using the ofdtog_x (x = 0, 1) registers. the ofdtog_x registers reference the 12-bit hd counter as shown in figure 24. once the toggle positions have been programmed, the ofdpatsel register is used to select which of the two preprogrammed ofd pulses will be output. the ofd will pulse once per line for as many lines set in the ofdnum register. high precision shutter mode high precision shuttering is controlled in the same way as nor- mal shuttering but requires a second set of shutter registers. in this mode, the ofd still pulses once per line, but the last ofd in the field will have an additional ofd pulse whose location is determined by the ofdhptog1 and ofdhptog2 registers. an example of this is shown in figure 25. finer resolution of the exposure time is possible using this mode. leaving both ofdhptog registers set to 4095 disables the high precision shutter mode (default setting). table xiii. tg registers length register register name (bits) type range description tgen 1 control 0x10 high/low tg output enable control (0 = disable, 1 = enable) tgtog1_0 12 shut_reg(1) 0 ? 4095 pixel location tg0 pulse toggle position 1 tgtog2_0 12 shut_reg(1) 0 ? 4095 pixel location tg0 pulse toggle position 2 tgtog1_1 12 shut_reg(2) 0 ? 4095 pixel location tg1 pulse toggle position 1 tgtog2_1 12 shut_reg(2) 0 ? 4095 pixel location tg1 pulse toggle position 2 tgactline 7 mode_reg(1) 0 ? 127 pixel location line in field where tg outputs are active tgpatsel0 1 mode_reg(1) high/low tg1 a/b pattern selector (0 = tg0, 1 = tg1) tgpatsel1 1 mode_reg(1) high/low tg3 a/b pattern selector (0 = tg0, 1 = tg1) tgmask 4 mode_reg(1) 4 individual bits tg masking control (0 = no masking, 1 = mask tg1a, 2 = mask tg1b, 3 = mask tg3a, 4 = mask tg3b) clpob hd vd ccd region 1 ccd region 2 ccd region 0 figure 23. example with clpoben1 = 0
rev. 0 e30e ad9937 1 23 45 6 tg1a tg1b tg3a tg3b ofd programmable clock positions 1. tgactline (programmable at mode_reg(1)) 2. tgtog1_0 (programmable at shut_reg(1)) 3. tgtog2_0 (programmable at shut_reg(1)) 4. tgtog1_1 (programmable at shut_reg(2)) 5. tgtog2_1 (programmable at shut_reg(2)) 6. ofdtog1_0 (programmable at shut_reg(3)) 7. ofdtog2_0 (programmable at shut_reg(3)) 001 002 003 000 000 11-bit vd counter 12-bit hd counter vd 001 hd last line n e 1 n 2048 7 t exp figure 24. horizontal timing example with tgactline = 1 and ofdnum = 2 vd hd tg1a tg1b tg3a tg3b ofd last line 12 second ofd pulse added in the last line for greater exposure control precision programmable clock positions 1. ofdhptog1 (programmable at control register 0x11) 2. ofdhptog2 (programmable at control register 0x11) t exp figure 25. high precision table xiv. ofd registers length register register name (bits) type range description ofden 1 control 0x10 high/low ofd output enable control (0 = disable, 1 = enable) ofdnum 11 control 0x10 0 ? 2048 pulses total number of ofd pulses per field ofdhptog1 12 control 0x11 0 ? 4095 pixel locations high precision toggle position 1. see figure 24. ofdhptog2 12 control 0x11 0 ? 4095 pixel locations high precision toggle position 2. see figure 24. ofdtog1_0 12 shut_reg(3) 0 ? 4095 pixel locations ofd0 pulse toggle position 1 ofdtog2_0 12 shut_reg(3) 0 ? 4095 pixel locations ofd0 pulse toggle position 2 ofdtog1_1 12 shut_reg(4) 0 ? 4095 pixel locations ofd1 pulse toggle position 1 ofdtog2_1 12 shut_reg(4) 0 ? 4095 pixel locations ofd1 pulse toggle position 2 ofdpatsel 1 mode_reg(1) high/low ofd pattern selector (0 = ofd0, 1 = ofd1)
rev. 0 ad9937 e31e controlling lm pulse timing the ad9937 provides an lm output pulse that is fully pro gram- mable by using the registers in table xv. two unique sets of lm pulses can be preprogrammed using the lmlenx, lmtog1_x, and lmtog2_x (x = 0, 1) registers. once these pulses are preprogrammed, they can be individually selected to be output in any of the five ccd regions by using the lmpatseln register (n = 0, 1, 2, 3, 4). the number of repetitions can also be indi vidually programmed for each ccd region by using the lmrepn register (n = 0, 1, 2, 3, 4). the 12-bit h counter and 8-bit lm counters are used for con- figuring the lm pulse. the 8-bit lm counter resets to 0 when the 12-bit h counter resets to 0 set by the hdlen register. the lmstart0 and lmstart1 positions reference the 12- bit h counter value zero. the 8-bit lm counter begins counting when lmstart0 is reached; it counts up to the value set in the lmlenx register, as shown in figure 26. the lm pulse toggle positions reference the 8-bit lm counter. figures 26 and 27 provide examples of programming the lm pulses. figure 26 shows an example when lmstart1 is less than hdlen. in this case, multiple sets of lm pulses can be output between the hdlen lengths. the number of sets is determined by the value of hdlen and lmstart1. figure 27 shows that only one set of lm pulses will be output when lmstart1 is greater than hdlen. table xv. lm registers length register register name (bits) type range description lm_invert 1 control 0x04 high/low lm inversion control (1 = invert programmed lm) lmstart0 * 12 mode_reg(13) 0 ? 4095 pixels lm counter start position 1 lmstart1 * 12 mode_reg(13) 0 ? 4095 pixels lm counter start position 2 lmlen0 8 hlm_reg(8) 0 ? 255 pixels lm counter length for lm0 lmtog1_0 8 hlm_reg(8) 0 ? 255 pixels lm0 toggle position 1 lmtog2_0 8 hlm_reg(8) 0 ? 255 pixels lm0 toggle position 2 lmlen1 8 hlm_reg(9) 0 ? 255 pixels lm counter length for lm1 lmtog1_1 8 hlm_reg(9) 0 ? 255 pixels lm1 toggle position 1 lmtog2_1 8 hlm_reg(9) 0 ? 255 pixels lm1 toggle position 2 lmpatsel0 1 mode_reg(15) high/low selects ccd region 0 lm pattern (0 = lm0, 1 = lm1) lmrep0 2 mode_reg(15) 0 ? 3 lm repetitions lm repetition number in ccd region 0 lmpatsel1 1 mode_reg(16) high/low selects ccd region 1 lm pattern (0 = lm0, 1 = lm1) lmrep1 2 mode_reg(16) 0 ? 3 lm repetitions lm repetition number in ccd region 1 lmpatsel2 1 mode_reg(17) high/low selects ccd region 2 lm pattern (0 = lm0, 1 = lm1) lmrep2 2 mode_reg(17) 0 ? 3 lm repetitions lm repetition number in ccd region 2 lmpatsel3 1 mode_reg(18) high/low selects ccd region 3 lm pattern (0 = lm0, 1 = lm1) lmrep3 2 mode_reg(18) 0 ? 3 lm repetitions lm repetition number in ccd region 3 lmpatsel4 1 mode_reg(19) high/low selects ccd region 4 lm pattern (0 = lm0, 1 = lm1) lmrep4 2 mode_reg(19) 0 ? 3 lm repetitions lm repetition number in ccd region 4 * lmstart0 and lmstart1 reference the 12-bit hd counter.
rev. 0 e32e ad9937 12-bit hd counter lmstart0 lmlenx 1 lmstart1 8-bit lm counter lmx 1 programmable clock positions 1. lm_invert (programmable at control 0x04) 2. lmtog1_x (programmable at hlm_reg(8)) 3. lmtog2_x (programmable at hlm_reg(8)) lmrepn 2 = 3 lm pulse set 1 12 lm pulse set 2 notes 1 x = 0, 1 (two unique sets of lm outputs can be programmed) 2 n = 0, 1, 2, 3, 4 (individual repetition control for each ccd region) 3 figure 26. example of lm pulse with lmstart1 < hdlen 12-bit hd counter lmstart0 lmlenx 8-bit lm counter lmx lmrepn = 3 lm pulse set 1 figure 27. example of lm pulse with lmstart1 > hdlen special horizontal pattern timing the ad9937 provides the ability to interrupt the normal hori- zontal h1(a ? d) and h2(a, b) clocking in order to apply a special pattern on these outputs. this special horizontal pattern timing occurs during the period when the lm outputs are ac tive. table xvi lists the registers used to program the special h patterns. figure 28 provides an example of a special h pattern being applied to the h1a output. the timing diagram shown in figure 28 identifies the registers associated with outputting the special h patterns. although only the h1a output is shown, the same special h timing can be independently configured on the remaining horizontal out puts by using the registers described in table xvi. as shown in figure 28, the special h1a output begins when sphstartx is reached. it is important to note that there are two sphstart registers. if sphpatsel = 0, the sphstart0 register will be used, whereas if sphpatsel = 1, the sphstart1 regis- ter will be used. the special h patterns can be enabled and disabled for each of the five ccd regions by using the sphenx (x = 0, 1, 2, 3, 4).
rev. 0 ad9937 e33e masking h1 and h2 outputs the h1 and h2 outputs can be masked during the horizontal and vertical transfers as shown in figures 29 and 30. horizontal masking the h1 clocks are masked with the polarity set by the h1maskpol register as shown in figure 29. the h2 outputs will always be the opposite polarity of h1. the h1 and h2 out- puts are masked from hdlen + 1 to hblktog1 position when hdlastlen is the same as hdlen. in the case when hdlastlen is greater than hdlen, the h1 and h2 outputs will be masked during the entire last line. it is recommended to always program hblktog3 and hblktog4 to 4095 when only one h-blanking in a line is required. it is also recommended to program hblktog1 < hblktog2 < hblktog3 < hblktog4. vertical masking as shown in figure 30, the h1 and h2 outputs remain masked if the horizontal hmask is followed by the vertical hmask region or if the vertical hmask region is followed by the hori- zontal hmask region. table xvi. special h pattern registers length register register name (bits) type range description hblktog1 1 12 mode_reg(7) 0 ? 4095 pixel locations hblk toggle position 1 hblktog2 1 12 mode_reg(7) 0 ? 4095 pixel locations hblk toggle position 2 hblktog3 1 12 mode_reg(8) 0 ? 4095 pixel locations hblk toggle position 3 hblktog4 1 12 mode_reg(8) 0 ? 4095 pixel locations hblk toggle position 4 h1apol 1 hlm_reg(1) high/low h1a special h pattern start polarity h1bpol 1 hlm_reg(1) high/low h1b special h pattern start polarity h1cpol 1 hlm_reg(1) high/low h1c special h pattern start polarity h1dpol 1 hlm_reg(1) high/low h1d special h pattern start polarity h2apol 1 hlm_reg(1) high/low h2a special h pattern start polarity h2bpol 1 hlm_reg(1) high/low h2b special h pattern start polarity sphstart0 2 8h lm_reg(8) 0 ? 255 pixel locations lm pattern #0 (lm0) special h pulse start position sphstart1 2 8h lm_reg(9) 0 ? 255 pixel locations lm pattern #1 (lm1) special h pulse start position sph1a1 6 hlm_reg(2) 6 individual bits h1a special h pattern during lm repetition 1 sph1b1 6 hlm_reg(2) 6 individual bits h1b special h pattern during lm repetition 1 sph1c1 6 hlm_reg(2) 6 individual bits h1c special h pattern during lm repetition 1 sph1d1 6 hlm_reg(3) 6 individual bits h1d special h pattern during lm repetition 1 sph2a1 6 hlm_reg(3) 6 individual bits h2a special h pattern during lm repetition 1 sph2b1 6 hlm_reg(3) 6 individual bits h2b special h pattern during lm repetition 1 sph1a2 6 hlm_reg(4) 6 individual bits h1a special h pattern during lm repetition 2 sph1b2 6 hlm_reg(4) 6 individual bits h1b special h pattern during lm repetition 2 sph1c2 6 hlm_reg(4) 6 individual bits h1c special h pattern during lm repetition 2 sph1d2 6 hlm_reg(5) 6 individual bits h1d special h pattern during lm repetition 2 sph2a2 6 hlm_reg(5) 6 individual bits h2a special h pattern during lm repetition 2 sph2b2 6 hlm_reg(5) 6 individual bits h2b special h pattern during lm repetition 2 sph1a3 6 hlm_reg(6) 6 individual bits h1a special h pattern during lm repetition 3 sph1b3 6 hlm_reg(6) 6 individual bits h1b special h pattern during lm repetition 3 sph1c3 6 hlm_reg(6) 6 individual bits h1c special h pattern during lm repetition 3 sph1d3 6 hlm_reg(7) 6 individual bits h1d special h pattern during lm repetition 3 sph2a3 6 hlm_reg(7) 6 individual bits h2a special h pattern during lm repetition 3 sph2b3 6 hlm_reg(7) 6 individual bits h2b special h pattern during lm repetition 3 sphen0 1 mode_reg(15) high/low special h pattern enable in ccd region 0 sphen1 1 mode_reg(16) high/low special h pattern enable in ccd region 1 sphen2 1 mode_reg(17) high/low special h pattern enable in ccd region 2 sphen3 1 mode_reg(18) high/low special h pattern enable in ccd region 3 sphen4 1 mode_reg(19) high/low special h pattern enable in ccd region 4 notes 1 the hblktogx toggle positions reference the 12-bit hd counter. 2 the sphstart0 and sphstart1 toggle positions reference the 8-bit lm counter.
rev. 0 e34e ad9937 12-bit hd counter 8-bit lm counter hblktog1 sphstartx hblktog2 hblktog3 lmstart1 hblktog3 8-bit lm counter sphstartx 11 0 1 01 special h1a sph1a1 h1a 2 3456 programming notes 1. there are two sphstart registers. they are sphstart0 and sphstart1. sphstart0 is used when the lm0 pulse is selected by setting lmpatsel = 0. sphstart1 is used when the lm1 pulse is selected by setting lmpatsel = 1. 2. this region represents normal h1a outputs. 3. this region represents special h1a pattern being output during the lm rep 1. the sph1a1 register is used to set the special h1a pattern in this region. 4. this region represents special h1a pattern being output during the lm rep 2. the sph1a2 register is used to set the special h1a pattern in this region. 5. this region represents special h1a pattern being output during the lm rep 3. the sph1a3 register is used to set the special h1a pattern in this region. 6. this region represents normal h1a outputs. programming notes 1. this example shows h1a output for region 3 above. in this example: sph1a1 = 110101. 2. the special h pattern starting polarity can be independently set for each h output using the pol registers listed in table xvi. note: the special h starting polarity will occur at the start of sphstartx. (above: h1apol = 0) pixel clock lmstart0 figure 28. example of programming the special h-output patterns hblktog2 h1tog12pol 132 133 134 135 868 1560 1559 0 12 3 h1 h2 823 824 825 h1maskpol 4 h1tog34pol 131 hblktog3 hblktog4 hblktog1 hmask hblk hblk hblk figure 29. example of horizontal hmask masking
rev. 0 ad9937 e35e hblktog2 h1tog12pol 132 133 134 135 234 1560 1559 0 12 3 h1 h2 154 156 233 h1maskpol 4 h1tog34pol 131 hdlen hdlastlen hblktog1 hmask hblk hmask hblk vertical hmask 155 1 2 0 figure 30. example of vertical hmask masking with hdlastlen > hdlen with hmastkstart = 0 and hmaskstop = 1560 vertical timing generation the ad9937 provides a very flexible solution for generating vertical ccd timing, and can support multiple ccds and differ- ent system architectures. the 4-phase vertical transfer clocks v1 ? v4 are used to shift each line of pixels into the horizontal output register of the ccd. the ad9937 allows these outputs to be individually programmed into different pulse patterns. vertical sequence control registers then organize the individual vertical pulses into the desired ccd vertical timing arrangement. the ad9937 can preprogram three unique sets of vertical transfer pulses known as vtp0, vtp1, and vtp2. each vtp set consists of the four vertical clocks (v1a/b, v2, v3a/b, and v4), as shown in figure 32. once preprogrammed, any one of the three unique vtp sets can then be selected to be output in any one of the five ccd regions by using the vtppatselx (x = 0, 1, 2, 3, 4) registers. the vtp_reg(1 ? 9) registers listed in table ii are used for generating the vtp pulse sets. figure 32 shows an example of programming one vtpx (x = 0, 1, 2) pulse set. once a vtp pulse set has been configured, multiple repetitions of this set can be repeated to create an entire vtp sequence. this is accomplished by using the vtprepn (n = 0, 1, 2, 3, 4) registers where n represents the five ccd regions. an example of repeating a vtp set is shown in figure 33. ccd regions up to five unique ccd regions can be preprogrammed using the sequence change position registers as described in table xvii. the scpx (x = 0, 1, 2, 3, 4) registers determine when the set- tings in mode_reg(15 ? 19) are active. for example, the scp1 register activates the registers at mode_reg(16) for ccd region 1. note that scp0 is not programmable. the scp0 position always starts at line 0, as shown in figure 31. scp0 (fixed at line 0) scp1 [7:0] scp4 [7:0] scp3 [7:0] scp2 [7:0] ccd region 0 ccd region 1 ccd region 2 ccd region 3 ccd region 4 re gisters located at mode_reg(15) are active while operating in ccd region 0 re gisters located at mode_reg(16) are active while operating in ccd region 1 re gisters located at mode_reg(17) are active while operating in ccd region 2 re gisters located at mode_reg(18) are active while operating in ccd region 3 re gisters located at mode_reg(19) are active while operating in ccd region 4 figure 31. sequence change positions table xvii. sequence change positions registers length register register name * (bits) type range description scp1 8 mode_reg(14) 0 ? 255 line positions sequence change position 1 scp2 8 mode_reg(14) 0 ? 255 line positions sequence change position 2 scp3 8 mode_reg(14) 0 ? 255 line positions sequence change position 3 scp4 8 mode_reg(14) 0 ? 255 line positions sequence change position 4 * there is no scp0 register. the scp0 position is always fixed at line 0.
rev. 0 e36e ad9937 12-bit hd counter v1a/b v2 v3a/b v4 1 2 3 4 5 6 78 9 10 11 12 vtplen_x * programmable clock positions 1. v1pol_x (programmable at vtp_reg(x)) 7. v2tog1_x (programmable at vtp_reg(x)) 2. v2pol_x (programmable at vtp_reg(x)) 8. v2tog2_x (programmable at vtp_reg(x)) 3. v3pol_x (programmable at vtp_reg(x)) 9. v3tog1_x (programmable at vtp_reg(x)) 4. v4pol_x (programmable at vtp_reg(x)) 10. v3tog2_x (programmable at vtp_reg(x)) 5. v1tog1_x (programmable at vtp_reg(x)) 11. v4tog1_x (programmable at vtp_reg(x)) 6. v1tog2_x (programmable at vtp_reg(x)) 12. v4tog2_x (programmable at vtp_reg(x)) programming notes * (x = 0, 1, 2) the x represents the three separate registers for vtp0, vtp1, and vtp2 sets. this also applies to the x used in the programmable clock positions below. figure 32. example of programming one vtp pulse 12-bit hd counter v1a/b v2 v3a/b v4 vtplen_x vtprepn * = 2 * (n = 0, 1, 2, 3, 4) n represents the number of programmable ccd regions. the number of repetitions in each ccd region can be independently set using the vtprep register for that region. 5 40 75 110 145 180 215 250 285 320 355 390 425 460 495 530 figure 33. example of creating a sequence of vtp pulses by using the vtprep register
rev. 0 ad9937 e37e 12-bit hd counter vtplen_1 v1a/b v2 v3a/b v4 vtplen_0 vtplen_2 vtp0 vtp1 vtp2 figure 34. example of three preprogrammed vtp pulses vtppatsel0 = 1 vrep0 = 1 vtppatsel1 = 0 vrep1 = 1 001 000 11-bit vd counter 002 n 12-bit hd counter vd hd v1a/b v2 v3a/b v4 scp0 (fixed at line 0) scp1 = 1 figure 35. example of applying vtp pulse sequences to ccd regions
rev. 0 e38e ad9937 vtppatsel0 = 1 vrep0 = 1 vtppatsel1 = 0 vrep1 = 2 001 000 11-bit vd counter 002 n 12-bit hd counter vd hd v1a/b v2 v3a/b v4 scp0 (fixed at line 0) scp1 = 1 figure 36. example of vtp pulse sequence with vrep = 2 in ccd region 1
rev. 0 ad9937 e39e rs, h2(a, b), lm 1 2 456 7 odd field odd field even field 1v 1h t delay 3 t settings 2 t pwr 1 v1a/b, v2, v3a/b, v4, tg1a, tg1b, tg3a, tg3b, ofd, h1(a, b, c, d) vdd (input) vd (output) digital outputs vckm hd (output) serial writes vclk outcont (r egister controlled) in ternal p ower-on au to-reset (lo-active) notes 1 th e internal power-on auto reset time t pwr = 1.0ms regardless of the vclk clock frequency. 2 it takes 500
rev. 0 e40e ad9937 3 156 2 7 rs, h2(a, b), lm v1a/b, v2, v3a/b, v4, tg1a, tg1b, tg3a, tg3b, ofd, h1(a, b, c, d) t delay * vdd (input) vd (output) digital outputs vckm hd (output) outcont ( internal signal) afe_stby (r egister) dig_stby (r egister) * it takes 4 vckm clock cycles from when outcont goes high until vd, hd and digital output data is valid. serial writes figure 38. recommended standby sequence standby sequence the following sequence is recommended when the ad9937 is put into standby operation. (refer to figure 38 for each step.) 1. write a 0 to the outcont_reg register (addr 0x01). 2. write a 0 to the dig_stby and afe_stby registers (addr 0x02). this will put the digital and analog circuits into the standby operating mode. 3. stop vckm clock. (this is optional.) 4. apply vckm when ready to come out of standby operation. 5. write a 1 to the dig_stby and afe_stby registers (addr 0x02). this will put the digital and analog circuits into the normal operating mode. 6. program any necessary control, system, or mode registers. 7. write a 1 to the outcont_reg register (addr 0x01) to begin operation.
rev. 0 ad9937 e41e vdd (input) vd (output) digital outputs vckm hd (output) outcont ( internal) odd field even field odd field afe_stby (register) dig_stby (register) 3 vclk serial writes 4 rs, h2(a, b), lm v1a/b, v2, v3a/b, v4, tg1a, tg1b, tg3a, tg3b, ofd, h1(a, b, c, d) figure 39. recommended power-down sequence n n + 1 n + 2 n + 4 n + 5 n e 10 n e 9 n e 8 n e 6 notes 1. recommended placement for vckm rising edge is between the shd rising edge and next shp falling edge. 2. ccd signal is sampled at shp and shd rising edges. 3. output data latency is nine vckm cycles. shp shd vckm output data ccd signal n + 7 n + 8 n + 10 n e 4 n e 3 n e 2 n e 1 n n + 3 n + 6 n + 9 n e 7 n e 5 cycle 1 cycle 2 cycle 3 cycle 4 cycle 5 cycle 6 cycle 7 cycle 8 cycle 9 t s1 t id t id t s2 n + 11 t cp t od figure 40. pipeline latency power-down sequence the following sequence is recommended when ad9937 is being powered down. (refer to figure 39 for each step.) 1. write a 0 to the outcont_reg register (addr 0x01). 2. write a 0 to the dig_stby and afe_stby registers (addr 0x02). this will put the digital and analog circuits into the standby operating mode. 3. stop vckm clock. 4. turn off power supplies to ad9937.
rev. 0 e42e ad9937 circuit layout information the ad9937 typical circuit connection is shown in figure 41. the pcb layout is critical in achieving good image quality from the ad9937 product. all of the supply pins, particularly the avdd, dvdd, tcvdd, rsvdd, hvdd1, and hvdd2 supplies, must be decoupled to ground with good quality high frequency chip capacitors. the decoupling capacitors should be located as close as possible to the supply pins, and should have a very low impedance path to a continuous ground plane. there should also be a 4.7 f or larger value bypass capacitor for each main supply although this is not necessary for each individual pin. in most applications, it is easier and recommended to share the same supply for avdd, dvdd, tcvdd, rsvdd, hvdd1, and hvdd2, which may be done as long as the individual supply pins are separately bypassed at each supply pin. a separate 3 v supply should be used for drvdd with this supply pin decoupled to the same ground plane as the rest of the chip. a separate ground for drvss is not recommended. the analog bypass pins (refb, reft) should also be carefully decoupled to ground as close as possible to their respective pins. the analog input (ccdin) capacitor should also be located close to the pin. the h1(a ? d), h2(a, b), and rs printed circuit board traces should be designed to have low inductance to avoid excessive distor- tion of the signals. heavier traces are recommended, because of the large transient current demand on h1(a ? d) and h2(a, b) by the ccd. if possible, physically locate the ad9937 closer to the ccd to reduce the inductance on these lines. as always, the rout- ing path should be as direct as possible from the ad9937 to the ccd. careful trace impedance considerations must also be made with applications using a flex printed circuit (fpc) connecting the ccd to the ad9937. fpc trace impedances can be controlled by applying a solid uniform ground plane under the h1(a ? d), h2(a, b), and rs traces. this helps minimize the amount of overshoot and ringing on these signals at the ccd inputs. 36 35 34 33 32 31 30 29 37 39 38 42 41 40 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 48 47 46 45 44 43 pin 1 identifier ccdin d0 d1 d2 d3 d4 d5 d6 d7 d8 ad9937 top view (not to scale) d9 10 data outputs 3v analog supply 3v driver supply drvdd drvss refb reft vckm avss avdd tcvdd tcvss vclk h1d rs v1a/b v2 v3a/b ofd v4 tg1a lm dvdd dvss hvdd2 hvss2 serial interface 4.7
rev. 0 ad9937 e43e figures 42 and 43 show the recommended ad9937 supply group- ing. figure 42 shows how the supplies should be tied together when there are only two available supply sources, whereas figure 43 shows how the supplies can be tied together when there are three av d d tcvdd hvdd1 hvdd2 rsvdd dvdd ad9937 asic/dsp a vss tcvss hvss1 hvss2 rsvss d vss drvss drvdd 3v analog supply 3v driver supply figure 42. recommended supply grouping with two available supply sources av d d tcvdd dvdd hvdd1 hvdd2 rsvdd ad9937 asic/dsp a vss tcvss d vss hvss1 hvss2 rsvss drvss drvdd 3v analog supply 2 3v driver supply 3v analog supply 1 figure 43. recommended supply grouping with three available supply sources available supply sources. in either case, all grounds should be tied together as shown. also as shown in figures 42 and 43 is that the ad9937 drvdd supply can be shared with the system asic/dsp.
rev. 0 c03556e0e5/03(0) e44e ad9937 outline dimensions 56-lead lead frame chip scale package [lfcsp] (cp-56) dimensions shown in millimeters pin 1 indicator top view 7.75 bsc sq 8.00 bsc sq 1 56 14 15 43 42 28 29 bottom view 6.25 6.10 5.95 0.50 0.40 0.30 0.30 0.23 0.18 0.50 bsc 0.20 ref 12


▲Up To Search▲   

 
Price & Availability of AD9937BCPZ-24

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X